package time;
import haxe.macro.Context;
import haxe.macro.Expr;
import time.providers.Provider;
import haxe.macro.Type;

class Query 
{
	private var providers:Hash<Void->Void>;
	
	public function new() : Void
	{
		providers = new Hash();
	}
	
	
	@:macro public static function make(query:Expr, ?providers:Array<Expr>) : ExprRequire<Query>
	{
		(time.compiler.Context.parseQuery(query, providers));
		return { expr:EConst(CInt("0")), pos:query.pos };
	}
	
	public function addProvider(query:Void->Void, provider:String) : Void
	{
		
	}
	
}